axios.defaults.baseURL = 'http://api-breakingnews-web.itheima.net'

// 设置所有请求的token值,下面的和需求不相符，所以使用拦截器
// axios.defaults. headers.common['Authorization']= localStorage.getItem('token')


// 请求拦截器 - 要求以my开头的请求才添加token认证,如果以后还有需要headers的可以直接用，不需要写多个

// 拦截器：
axios.interceptors.request.use(
    // 拦截成功
    function(config) {
        // indexOf()方法返回的是，有返回0，没有返回-1
        // console.log(config.url.indexOf('/my/') !== -1);
        // console.log(config.url);
        if (config.url.indexOf('/my/') != -1) {
            // 不可以直接headers=localStorage.getItem('token')，这样赋值，会影响原来的头信息设置
            // 所有的头信息，不要用对象赋值，要用属性赋值
            config.headers.Authorization = localStorage.getItem('token')
        }
        // 不论里面写的判断条件是什么，一定要返回config
        return config
    },
    // 拦截失败
    function(error) {
        return Promise.reject(error)
    });

// 登录拦截：用户没有登录，或者身份认证失败，token失效，就强行跳转到登录页面
// 响应拦截
axios.interceptors.response.use(

    function(response) {
        // 判断是否身份认证失败
        if (response.data.message == '身份认证失败！') {
            // 如果身份认证失败，就跳转到原来的登录页面
            location.href = '/login.html'
                // 删除原来的token
            localStorage.removeItem('token')
        }
        return response

    },
    function(error) {

        return Promise.reject(error)
    })